package com.sg.service.biz.bff.impl;

import com.sg.common.exception.Assert;
import com.sg.common.util.RedisUtil;
import com.sg.dto.biz.bff.req.BffAddEvaTempFillSetReqDto;
import com.sg.dto.biz.bff.res.BffAddEvaTempFillSetRespDto;
import com.sg.dto.integration.app.AddEvaTempEvaSetComReqDto;
import com.sg.dto.integration.app.AddEvaTempEvaSetComRespDto;
import com.sg.service.biz.bff.EvaTempFillSetService;
import com.wicket.okrapp.integration.EvaTempEvaSetService;
import com.wicket.okrapp.integration.IndexSystemService;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Service
public class EvaTempFillSetServiceImpl implements EvaTempFillSetService {

    @Resource
    private RedisUtil redisUtil;
    @Resource
    com.sg.service.biz.app.EvaTempEvaSetService fwAppEvaTempEvaSetClient;
    @Resource
    com.sg.service.biz.app.IndexSystemService fwAppIndexSystemClient;

    /**
     * B3-3新增评价模板填报设置(管理)[3233]
     * gen by moon at 10/2/2022, 11:28:01 PM
     */
    @Trace(operationName = "B3-3新增评价模板填报设置(管理)")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    @Override
    public BffAddEvaTempFillSetRespDto addEvaTempFillSet(BffAddEvaTempFillSetReqDto reqDto) {


        //步骤0: D3-3新增评价模板评价设置(公共) - addEvaTempEvaSetCom
        AddEvaTempEvaSetComRespDto addEvaTempEvaSetComRespDto = null;
        AddEvaTempEvaSetComReqDto addEvaTempEvaSetComReqDto = new AddEvaTempEvaSetComReqDto();
        addEvaTempEvaSetComReqDto.setConfItemCode("TEMP_AUDIT_EVA_SET");//CUSTOM_CONVENTION//sourceId:123042_1
        if (reqDto != null) {
            addEvaTempEvaSetComReqDto.setEvaluationTemplateId(reqDto.getEvaluationTemplateId());//SimpleFieldAssign//sourceId:177122_1
            addEvaTempEvaSetComReqDto.setTargetId(reqDto.getTargetId());//SimpleFieldAssign//sourceId:123039_1
            addEvaTempEvaSetComReqDto.setBatchCode(reqDto.getBatchCode());//SimpleFieldAssign//sourceId:123041_1
        }

        /*D3-3新增评价模板评价设置(公共)[3225]   */
        Assert.isNull(addEvaTempEvaSetComReqDto.getConfItemCode(), "B3-3新增评价模板填报设置(管理)-D3-3新增评价模板评价设置(公共)-配置项标识不能为空", false);
        Assert.isNull(addEvaTempEvaSetComReqDto.getEvaluationTemplateId(), "B3-3新增评价模板填报设置(管理)-D3-3新增评价模板评价设置(公共)-评价模板ID不能为空", false);
        Assert.isNull(addEvaTempEvaSetComReqDto.getTargetId(), "B3-3新增评价模板填报设置(管理)-D3-3新增评价模板评价设置(公共)-冗余目标ID不能为空", false);
        Assert.isNull(addEvaTempEvaSetComReqDto.getBatchCode(), "B3-3新增评价模板填报设置(管理)-D3-3新增评价模板评价设置(公共)-批次标识不能为空", false);
        addEvaTempEvaSetComRespDto = fwAppEvaTempEvaSetClient.addEvaTempEvaSetCom(addEvaTempEvaSetComReqDto).getData();


        BffAddEvaTempFillSetRespDto retData = new BffAddEvaTempFillSetRespDto();


        return retData;
    }
    //
}
